package com.example.ywj.myapplication;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.example.ywj.myapplication.AsyncTask.AsyncTaskActivity;
import com.example.ywj.myapplication.handler.HandlerActivity;
import com.example.ywj.myapplication.login.LoginActivity;

/**
 * Androdid中：1.更新UI放在主线程中
 *             2.做耗时操作需要放在多线程中
 *
 * 一般多线程编程：1.继承Thread
 *  *              2.实现Runnable接口
 *                3.Handler机制
 *                4.AsyncTask
 * 需求：完成耗时任务之后，需要做更新UI操作？
 *      会选用
 *      1.Handler机制
 *      2.AsyncTask两种方式
 *      3.runOnUiThread(回到主线程)
 *
 */
public class MainActivity extends AppCompatActivity  implements View.OnClickListener {

    private Button btn_handler,btn_asyncTask,btn_login;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }
    public void initView(){
        btn_handler = findViewById(R.id.btn_handler);
        btn_handler.setOnClickListener(this);
        btn_asyncTask = findViewById(R.id.btn_asyncTask);
        btn_asyncTask.setOnClickListener(this);
        btn_login = findViewById(R.id.btn_login);
        btn_login.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_handler:
                Intent intent2 = new Intent(MainActivity.this,AsyncTaskActivity.class);
                startActivity(intent2);
                break;
            case R.id.btn_asyncTask:
                Intent intent = new Intent(MainActivity.this,HandlerActivity.class);
                startActivity(intent);
                break;
            case R.id.btn_login:
                Intent intent3 = new Intent(MainActivity.this,LoginActivity.class);
                startActivity(intent3);
        }
    }
}

